import  java.io.Serializable;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Observable;
public class Auteur extends Observable implements Serializable{

// ************************************************************************************************************
// Attributs
// ************************************************************************************************************

	private String _nom;
	private String _prenom;
	private HashSet<Document> _listDoc;
	
	
	// ************************************************************************************************************
	// Constructeur
	// ************************************************************************************************************
	
	public Auteur(String nom,String prenom,HashSet<Document> doc){
		this.setNom(nom);
		this.setPrenom(prenom);
		_listDoc= new HashSet<Document>();
		this.setListDoc(doc);
	}
	
	public Auteur(){
		this.setNom("");
		this.setPrenom("");
	}
	// ************************************************************************************************************
	// Méthodes privées
	// ************************************************************************************************************
	
	// ------------------------------------------------------------------------------------------------------------
	// Affecteurs
	
	public void setNom(String nom){
		_nom=nom;
	}
	
	public void setPrenom(String prenom){
		_prenom=prenom;
	}
	
	public void setListDoc(HashSet<Document> doc){
		if(doc!=null){
			for(Document d:doc){
				_listDoc.add(d);
			}
		}
	}
	
	// ************************************************************************************************************
	// Méthodes publiques
	// ************************************************************************************************************

	// ------------------------------------------------------------------------------------------------------------
	// Accesseurs
	
	public String getNom(){
		return(_nom);
	}
	
	public String getPrenom(){
		return(_prenom);
	}
	
	public HashSet<Document> getDocuments(){
		return(_listDoc);
	}
	
	
	public void lierDoc(Document doc){
		boolean existe=false;
		if(_listDoc!=null){
			for(Document d:_listDoc){
				if(d==doc){
					existe=true;
				}
			}
		}	
		if(existe==false){
			_listDoc.add(doc);
		}
	}
	
	
	
}
